﻿#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
/*printf函数与scanf函数使用使用
int main()
{   占位符为什么要用双引号括起来 是因为语法要求 格式串需要注意这样使用
	printf("%d\n",100);//%d 打印整数 
	printf("%+d\n", 100);//占位符前面加正号就会自动识别这个数是否带正负号
	printf("%+d\n", -100);
	printf("%f\n", 3.14);//⼩数（包含 float 类型和 double 类型）。float %f double - %lf 小数会被四舍五入
	printf("%17.2lf\n", 233.140);//在占位符前加入数字可以限制其最小宽度 “.”后面是限制小数点后显示几位
	printf("%*.*lf\n",12,2,233.140);//限制其最小宽度可以用“*”号替代
	printf("%.3s\n", "abcdef");//%s 打印字符串  可以限制其显示范围 abc
	
	int score = 0;
	printf("请输入成绩:");
	scanf("%d",&score);//输入操作 scanf函数用于读取用户的键盘输入
	//scaf函数中占位符后面的参数需要的是地址
	//&取地址符，&score ->  取出score的地址
	printf("成绩是 %d\n", score);

	int a = 0;
	int b = 0;
	float c = 0.0;
	float d = 0.0;
	scanf("%d %d %f %f",&a,&b,&c,&d);//会自动过滤空白字符 包括空格 制表符 换行符
	printf("%d %d %.2f %.2f \n", a,b,c,d);
	return 0;
}
int main()
{
	int a = 0;//scanf() 的返回值是⼀个整数，表⽰成功读取的变量个数。
	int b = 0;
	int c = 0;
	int d = 0;
	int ret = scanf("%d %d %d %d", &a, &b, &c, &d);//crlt+z 可以限制其返回值 如果输⼊2个数后，按 ctrl+z ，提前结束输⼊
	printf("a=%d b=%d c=%d d=%d\n", a,b,c,d);//如果在成功读取任何数据之前，发⽣了读取错误或者遇到读取到⽂件结尾，则返回常量 EOF (-1)。EOF - end of file ⽂件结束标志
	printf("ret=%d", ret);
	 
	char a = 0;//除了 %c 以外输出字符，都会⾃动忽略起⾸的空⽩字符。 %c 不忽略空⽩字符，总是返回当前第⼀个字符，⽆论该字符是否为空格。
	scanf(" %c",&a);//如果要强制跳过字符前的空⽩字符，即 %c 前加上⼀个空格，表⽰跳过零个或多个空⽩字符。
	printf("xxxx%cyyyy\n",a);
	 
	char arr[5] = { 0 };//数组
	scanf("%4s", arr);//arr是数组 数组就是地址 所以并不需要加上&
	printf("%s\n", arr);//使⽤ %s 占位符时，应该指定读⼊字符串的最⻓⻓度，即写成% [m]s ，其中的[m] 是⼀个整数，表⽰读取字符串的最⼤⻓度，后⾯的字符将被丢弃 arr是⼀个⻓度为5的字符数组， scanf() 的占位符 %10s 表⽰最多读取⽤⼾输⼊的4个字符，最后一个是\0结束符 后⾯的字符将被丢弃，这样就不会有数组溢出的⻛险
	
	int year = 0;//赋值忽略符
	int month = 0;//只要把 * 加在任何占位符的百分号后⾯，该占位符就不会返回值，解析后将被丢弃。 正常的scanf函数需要输入对应的格式才会被解析
	int day = 0;
	scanf("%d%*c%d%*c%d",&year,&month,&day);//%*c 就是在占位符的百分号后⾯，加⼊了赋值忽略符 * ，表⽰这个占位符没有对应的变量，解读后不必返回。
	printf("%d %d %d\n",year,month,day);
	return 0;
}
*/
//分支与循环
//在C语⾔中，0为假，⾮0表⽰真
//表达式成⽴（为真），则语句执⾏，表达式不成⽴（为假），则语句不执⾏
//int main()
//{
//	int num;
//	//输入
//	scanf("%d", &num);
//	//判断
//	if (num % 2 == 1)//表达式
//		printf("%d是奇数", num);//语句
//	else printf("%d是偶数", num);//语句
//
//	/*int age = 0;
//	scanf("%d", &age);
//	if与else默认只能在后面控制一条语句
//	在分支中想要控制多条语句 需要加大括号“{}”
//	if (age >= 18)
//	{
//		printf("成年\n");
//		printf("可以得吃\n");
//	}
//	else
//	{
//		printf("未成年\n");
//		printf("不可以得吃\n");
//	}
//	return 0;*/
//
//	嵌套if  可以有多种嵌套模式 看个人想法
//	int num = 0;
//	scanf("%d",&num);
//	if (num == 0)
//		printf("这个值等于0\n");
//	else if(num > 0)
//		printf("这个值是正数\n");
//	else
//		printf("这个值是负数\n");
//	
//	else 会和最近的if匹配 所以这段代码什么都不输出
//	int a = 0;
//	int b = 2;
//	 if (a == 1)
//		 if (b == 2)
//		 printf("hehe\n");
//	 else
//		 printf("haha\n");
//	return 0;
//}
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	printf("%d\n", a % b);
	return 0;
}

